Skip to content

v21.1.0: adopt CIRISPersist v42.1.0; the cohab lane carries the verify pin (#579) - #580

Merged
emooreatx merged 1 commit into
mainfrom
adopt-persist-v42.1
Sep 8, 2026
Merged

v21.1.0: adopt CIRISPersist v42.1.0; the cohab lane carries the verify pin (#579)#580
emooreatx merged 1 commit into
mainfrom
adopt-persist-v42.1

Conversation

@emooreatx

Copy link
Copy Markdown
Contributor

A MINOR on v21.0.0. Closes #579.

persist v42.0.0 → v42.1.0 — currency, and a read-path speedup edge uses

Same major, all four ABI constants unchanged, verify stays v15.0.0, >=42,<43 floor holds. Tag derefs to 00bc08e; cargo tree -i shows one copy each.

  • #817 — dimension reads were O(rows the node authored). V137 indexes the generated dimension column V106 added and nothing used. Reaches edge directly: messages_in_room and the chat readers filter by chat:* and are now index-served, not a corpus scan.
  • #818 — a dimension-prefix filter compares bytes. SQLite's LIKE was case-insensitive, so two backends disagreed under CC 3.1.7 R3. Edge emits only lowercase dimensions, so no edge read had returned a wrong row — the predicate is now correct everywhere.

#579 — every cohab cell on the v21.0.0 tag run died at pip-install

The user requested ciris-verify==14.2.0
ciris-persist 42.0.0 depends on ciris-verify<16 and >=15.0.0
ERROR: ResolutionImpossible

Before a single test ran. The v21.0.0 release itself was unaffected (15 assets, manifest + upload green).

Root cause is in edge. extract-substrate-pins injects edge's own pins into CIRISConformance's lane and deliberately omitted a verify override, on reasoning that was true and still wrong: persist pins the matching ciris-verify transitively, so an override looked unnecessary. What it missed: the conformance matrix carries its own explicit ciris-verify==14.2.0, the override never touched it, and an explicit pin beats a transitive range. Incoherent by construction, latent through every prior adopt, exposed the first time persist's firewall crossed a verify major.

Fix. The job now also emits ciris-verify>=MAJOR,<MAJOR+1 from the ciris-keyring Cargo tag:

  • a range mirroring persist's own firewall shape, so a verify patch ahead of edge's pin still resolves;
  • a plain PyPI spec, not git+… — the Python project lives at bindings/python (the v16.0.1 lesson the old comment got right);
  • the tag's major is the wheel's major now (bump-version.sh moves both; PyPI 15.0.0 ↔ tag v15.0.0), so the old "Rust tag ≠ Python version" comment was stale;
  • no third conflict — ciris-server's wheel carries no ciris-verify dependency (verified on PyPI for 0.5.198 and 0.5.203).

Dry-run against this Cargo.toml emits exactly {"ciris-persist": "git+…@v42.1.0", "ciris-verify": "ciris-verify>=15,<16"}.

Done when this tag run's six cohab cells are green — that's the only test that can prove it, since the failure was in the lane's install step.

Verification

  • cargo check --all-targets clean — the post-dep-bump compile gate, after the v15 lesson that --lib skips #[cfg(test)]
  • clippy -D warnings clean on pyo3-full --all-targets
  • 1461 lib + 1867 integration tests (67 binaries), every cargo exit captured
  • evidence TSV regenerated for 21.1.0; lockfile re-resolved online to v42.1.0#00bc08e

🤖 Generated with Claude Code

https://claude.ai/code/session_01NGkrcZ7Fgor8taio1YXVxB

…verify pin (#579)

## persist v42.0.0 -> v42.1.0 — currency, and a read-path speedup edge uses

MINOR: same major, all four ABI constants unchanged, verify stays v15.0.0,
the >=42,<43 floor holds. Tag derefs to 00bc08e; one copy each.

#817 — dimension reads were O(rows the node authored). Both dimension axes
compiled to a per-row json_extract; V137 indexes the generated `dimension`
column V106 added and nothing used. Reaches edge directly: messages_in_room
and the chat readers filter by chat:* dimension and are now index-served.

#818 — a dimension-prefix filter compares bytes. SQLite's LIKE was
case-insensitive, so list_scores / list_attestations returned different row
sets per backend under CC 3.1.7 R3. Edge emits only lowercase dimensions, so
no edge read returned a wrong row — the predicate is now correct everywhere.

## #579 — every cohab cell on the v21.0.0 tag run died at pip-install

    The user requested ciris-verify==14.2.0
    ciris-persist 42.0.0 depends on ciris-verify<16 and >=15.0.0
    ERROR: ResolutionImpossible

Before a single test ran. The release itself was unaffected (15 assets).

Edge's extract-substrate-pins job DELIBERATELY omitted a verify override, on
reasoning that was true and still wrong: edge consumes verify through persist,
and persist's wheel pins the matching ciris-verify transitively — so an
override looked unnecessary. What that missed: the conformance matrix carries
its OWN explicit ciris-verify==14.2.0 in `stack`, the override never touched
it, and an explicit user pin beats a transitive range. The set was incoherent
by construction, latent through every prior adopt, exposed the first time
persist's firewall crossed a verify major.

The job now emits ciris-verify>=MAJOR,<MAJOR+1 from the ciris-keyring Cargo
tag: a RANGE mirroring persist's own firewall shape (a verify patch ahead of
edge's pin still resolves); a plain PyPI spec, not git+ (the Python project
is at bindings/python, not the repo root — the v16.0.1 lesson); the tag major
IS the wheel major now (bump-version.sh moves both). ciris-server's wheel
carries no ciris-verify dependency (verified on PyPI for 0.5.198 and
0.5.203), so this cannot create a third conflict.

Dry-run against this Cargo.toml emits
{"ciris-persist": "git+…@v42.1.0", "ciris-verify": "ciris-verify>=15,<16"}.

Done when the v21.1.0 tag run's six cohab cells are green.

Verified: cargo check --all-targets (the post-dep-bump compile gate) clean;
clippy -D warnings clean on pyo3-full --all-targets; lib + integration suites,
every cargo exit captured; evidence TSV regenerated for 21.1.0.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NGkrcZ7Fgor8taio1YXVxB
@emooreatx
emooreatx merged commit 4dca38d into main Sep 8, 2026
26 checks passed
@emooreatx
emooreatx deleted the adopt-persist-v42.1 branch September 8, 2026 19:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Cohab lane died at pip-install on v21.0.0: edge's pin-overrides injected persist v42 but left the matrix's verify 14.2.0 behind

1 participant